package demo3;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Test {
    public static void main(String[] args) {
        //泛型的语法规则就是我们的这个左边必须要进行说明
        //这个右边对于这个参数的制定也是可以不用显示出来的
        //下面的这个是我们更加推荐的方式：只需要在一侧进行这个类型的指定即可
        List<Map<String, List<String>>> listMapList = new ArrayList<>();

        Map<String, List<String>> map1 = new HashMap<>();
        List<String> list1 = new ArrayList<>();
        list1.add("a");
        list1.add("b");
        map1.put("高三一班", list1);

        List<String> list2 = new ArrayList<>();
        list2.add("c");
        list2.add("d");
        map1.put("高三二班",list2);

        listMapList.add(map1);

        Map<String, List<String>> map2 = new HashMap<>();
        List<String> list3 = new ArrayList<>();
        list3.add("e");
        list3.add("f");
        map2.put("高三三班", list3);

        List<String> list4 = new ArrayList<>();
        list4.add("g");
        list4.add("h");
        map2.put("高三四班", list4);

        listMapList.add(map2);

        for(Map<String, List<String>> map : listMapList) {
            //System.out.println(map);
            /**
             * {高三二班=[c, d], 高三一班=[a, b]}
                {高三四班=[g, h], 高三三班=[e, f]}
             */
            for(Map.Entry<String, List<String>> entry : map.entrySet()) {
                System.out.println(entry.getKey());
                for(String value : entry.getValue()) {
                    System.out.println(value);
                }
            }
        }

        System.out.println("==============================================");

        for(Map<String, List<String>> map : listMapList) {
            //System.out.println(map);
            /**
             * {高三二班=[c, d], 高三一班=[a, b]}
                {高三四班=[g, h], 高三三班=[e, f]}
             */
            for(String key : map.keySet()) {
                //System.out.println(key);
                for(String value : map.get(key)) {
                    System.out.println(value);
                }
            }
        }




    }
}
